<div id='CreateServerView' class="OneContainer">
	<div class="row">
		<div class="col-lg-12 col-sm-12">
			<div class="Panel PanelGreen">
				<div class="PanelTitle">创建服务器</div>
				<div class="PanelBody">
					<p>您可以创建一个新的服务器，默认所有用户不可操作，只限于管理员一人可以控制。</p>
					<p>不过创建一个服务器您可以需要完善以下信息：</p>
					<div class="row" style="padding-top: 10px;padding-bottom: 30px;">
						<div class="col-md-6">
							<p>[必填] 服务器名字必须唯一，这个名字标识唯一的一个服务器终端 (仅限字母数字下划线组合)</p>
							<div class="input-group input-group-sm">
								<span class="input-group-addon">服务器名字</span>
								<input type="text" class="form-control" v-model="name" placeholder="[不可空，必填]">
							</div>
							<p>[可填] 服务端核心文件，可以后再填或上传后再填，因为服务端目录还未创建，但是您指定目录的话就可填写.</p>
							<div class="input-group input-group-sm">
								<span class="input-group-addon"> 服务端文件名 </span>
								<input type="text" class="form-control" v-model="jarName">
							</div>
							<p>[选填] 您可以指定您计算机上的Java环境程序路径，默认自动选择环境变量</p>
							<div class="input-group input-group-sm">
								<span class="input-group-addon">Java 路径</span>
								<input type="text" class="form-control" v-model="java" placeholder="[自动]">
							</div>
							<p>[选填] 您可以从已有的服务器配置中，复制一份配置到这里，来避免重复的输入相同的数据。</p>
							<div class="input-group input-group-sm">
								<span class="input-group-addon">目标实例名字</span>
								<input type="text" class="form-control" v-model="readServerName"
									placeholder="[在此输入目标服务端的名字即可复制它的配置项目]">
								<span class="input-group-btn">
									<button class="btn btn-default" v-on:click="readServerConfig(readServerName)"> 导入配置
									</button>
								</span>
							</div>
						</div>
						<div class="col-md-6">
							<p>[选填] 一般而言当您需要附加参数如 (-server 等等) 时，可以填写</p>
							<div class="input-group input-group-sm">
								<span class="input-group-addon">启动附加参数</span>
								<input type="text" class="form-control" v-model="addCmd" placeholder="[无附加参数]">
							</div>
							<p>[选填] 可不填写，只有当您需要指定目录时填写，默认将自动建立目录，选择好请单击按钮确认</p>
							<p style="color: #B92C28;">当前服务端根目录设为: {{ serverCwd }}</p>
							<div class="input-group input-group-sm">
								<span class="input-group-addon">服务端文件根目录</span>
								<input type="text" class="form-control" v-model="cwd" :placeholder="serverCwd">
								<span class="input-group-btn">
									<button class="btn btn-success" v-on:click="toCreaterDir()"> 确认创建目录 </button>
								</span>

							</div>
							<p>[选填] 根据您的需求或计算机内存大小填写，默认自动，需要在数字后加单位</p>
							<div class="row">
								<div class="col-sm-6">
									<div class="input-group input-group-sm">
										<span class="input-group-addon"> 最大内存堆 </span>
										<input type="text" class="form-control" v-model="Xmx" placeholder="[缺省值]">
									</div>
								</div>
								<div class="col-sm-6">
									<div class="input-group input-group-sm">
										<span class="input-group-addon"> 初始内存堆 </span>
										<input type="text" class="form-control" v-model="Xms" placeholder="[缺省值]">
									</div>
								</div>
							</div>
						</div>
					</div>
					<div class="row">
						<div class="col-lg-12">
							<p>到目前为止，我们创建一个服务器只需要这些信息足以，您可以在创建之后修改相关配置；</p>
							<p>或者，如果您想的话，可以分配给其他用户使用。</p>
							<div class="Line"></div>
							<div class="" style="float: right;margin-top: 20px;">
								<button class="btn btn-primary" v-on:click="toCreateServer()">创建服务器</button>
							</div>
						</div>
					</div>
				</div>
			</div>
		</div>
	</div>
	<div class="row">
		<div class="col-md-6">
			<div class="Panel PanelRed">
				<div class="PanelTitle">创建服务器相关协议</div>
				<div class="PanelBody">
					<p>您使用本控制面板创建 Minecraft 之后，请遵循您所使用的那个服务端的相关协议;</p>
					<p>面板不会自动同意Minecraft EULA（最终用户协议），请首次启动后手动修改eula.txt文件更改。</p>
					<p>尊重版权，请支持 Minecraft 正版。</p>
				</div>
			</div>
		</div>
	</div>
</div>

<script>
	MI.rListener('onload', function () {
		// 定义页面地址
		TOOLS.definePage('template/component/newserver', 'genuser/home', '');

		VIEW_MODEL.newVue('CreateServerView', {
			el: '#CreateServerView',
			data: {
				name: 'NewServer_' + ((Date.parse(new Date()) + "").substr(6)),
				jarName: '',
				cwd: '',
				Xmx: '',
				Xms: '',
				addCmd: '',
				java: 'java',
				readServerName: ''
			},
			methods: {
				toCreateServer: function () {
					var addCmdList = this.addCmd.split(' ');
					if (!TOOLS.isStdText(this.name)) {
						TOOLS.pushMsgWindow("服务器名字不合法！仅限字母数字下划线！");
						return;
					}
					var obj = {
						addCmd: addCmdList,
						serverName: this.name,
						jarName: this.jarName,
						cwd: this.cwd,
						Xmx: this.Xmx,
						Xms: this.Xms,
						java: this.Java
					};
					WS.sendMsg('server/create', JSON.stringify(obj));
					RES.redirectPage('./template/server.html', 'server/view');
				},
				toCreaterDir: function () {
					var obj = {
						serverName: this.name,
						cwd: this.cwd
					};
					WS.sendMsg('server/create_dir', JSON.stringify(obj));
				},
				readServerConfig: function (serverName) {
					if (serverName.trim() == "") return;
					var that = this;
					//请求此服务端配置数据并且赋值给自己
					WS.sendMsg('server/get', serverName, function (pack) {
						serverData = pack.ResponseValue;
						if (serverData == null || serverData['serverName'] == null) {
							return;
						}
						that.name = serverData.serverName + "_copy";
						that.Xmx = serverData.Xmx;
						that.Xms = serverData.Xms;
						that.Java = serverData.Java;
						that.jarName = serverData.jarName;
						that.addCmd = serverData.addCmd.join(" ").trim();
						// that.cwd = serverData.cwd;
					});
				}
			},
			computed: {
				serverCwd: function () {
					if (this.cwd == '') return './server/server_core/' + this.name;
					return this.cwd;
				}
			}
		});

	});

	MI.rListener('onend', function () { });
</script>
